import { IsNotEmpty } from 'class-validator';

export class CreateMenuDto {
  /** 菜单ID */
  // @IsNotEmpty({ message: '菜单ID不能为空' })
  id?: string;

  /** 菜单名称 */
  @IsNotEmpty({ message: '菜单名称不能为空' })
  name: string;

  /** 英文名称 */
  enName?: string;

  /** 权限标识 */
  @IsNotEmpty({ message: '权限标识不能为空' })
  permission: string;

  /** 路由路径 */
  @IsNotEmpty({ message: '路由路径不能为空' })
  path?: string;

  /** 父菜单ID */
  @IsNotEmpty({ message: '父菜单ID不能为空' })
  parentId: string;

  /** 菜单图标 */
  icon?: string;

  /** 是否可见，0隐藏，1显示 */
  visible?: '0' | '1';

  /** 排序值，越小越靠前 */
  sortOrder?: number;

  /** 是否缓存，0否，1是 */
  keepAlive?: '0' | '1';

  /** 是否内嵌，0否，1是 */
  embedded?: '0' | '1';

  /** 菜单类型，0目录，1菜单，2按钮 */
  @IsNotEmpty({ message: '菜单类型不能为空' })
  menuType?: '1' | '2';

  /** 创建人 */
  createBy: string;

  /** 创建时间 */
  createTime?: Date;

  /** 修改人 */
  updateBy: string;

  /** 更新时间 */
  updateTime?: Date;

  /** 删除标志，0未删除，1已删除 */
  delFlag?: '0' | '1';
}
